package com.ljf.utility.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ljf.common.model.BasisModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 编译文件表对象  utility_dat_compile_file
 *
 * @author LJF
 * @since 2025-08-30
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("编译文件表")
@EqualsAndHashCode(callSuper = true)
@TableName("utility_dat_compile_file")
public class UtilityDatCompileFile extends BasisModel {

	private static final long serialVersionUID = 1L;

	/**
	 * Java类型: Long
	 * 数据库类型: bigint
	 * 注释: ID
	 * {@link UtilityDatCompileFile#COL_ID}
	 */
	@JsonProperty("id")
	@ApiModelProperty(value = "ID")
	@TableId(value="id", type= IdType.AUTO)
	private Long id;

	/**
	 * Java类型: String
	 * 数据库类型: char(9)
	 * 注释: 编码
	 * {@link UtilityDatCompileFile#COL_CODE}
	 */
	@TableField("code")
	@JsonProperty("code")
	@ApiModelProperty(value = "编码")
	private String code;

	/**
	 * Java类型: Integer
	 * 数据库类型: int
	 * 注释: 版本编码
	 * {@link UtilityDatCompileFile#COL_VERSION_CODE}
	 */
	@TableField("version_code")
	@JsonProperty("versionCode")
	@ApiModelProperty(value = "版本编码")
	private Integer versionCode;

	/**
	 * Java类型: Integer
	 * 数据库类型: tinyint
	 * 注释: 类型(1:Java文件;2:Class文件;3:输入;4:输出)
	 * {@link UtilityDatCompileFile#COL_TYPE}
	 * {@link com.ljf.utility.enums.UtilityDatCompileFileTypeEnum}
	 */
	@TableField("type")
	@JsonProperty("type")
	@ApiModelProperty(value = "类型")
	private Integer type;

	/**
	 * Java类型: Integer
	 * 数据库类型: smallint unsigned
	 * 注释: 排序
	 * {@link UtilityDatCompileFile#COL_SORT}
	 */
	@TableField("sort")
	@JsonProperty("sort")
	@ApiModelProperty(value = "排序")
	private Integer sort;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(200)
	 * 注释: 内容
	 * {@link UtilityDatCompileFile#COL_CONTENT}
	 */
	@TableField("content")
	@JsonProperty("content")
	@ApiModelProperty(value = "内容")
	private String content;


	/**
	 * ID
	 * {@link UtilityDatCompileFile#id}
	 */
	public static final String COL_ID = "id";
	/**
	 * 编码
	 * {@link UtilityDatCompileFile#code}
	 */
	public static final String COL_CODE = "code";
	/**
	 * 版本编码
	 * {@link UtilityDatCompileFile#versionCode}
	 */
	public static final String COL_VERSION_CODE = "version_code";
	/**
	 * 类型(1:Java文件;2:Class文件;3:输入;4:输出)
	 * {@link UtilityDatCompileFile#type}
	 */
	public static final String COL_TYPE = "type";
	/**
	 * 排序
	 * {@link UtilityDatCompileFile#sort}
	 */
	public static final String COL_SORT = "sort";
	/**
	 * 内容
	 * {@link UtilityDatCompileFile#content}
	 */
	public static final String COL_CONTENT = "content";

}
